information random data compression recursive recursive data compression code data compression data michael l cole open source